using System;
using Me.Prettyprint.Cassandra.Service;

namespace Me.Prettyprint.Cassandra.Connection
{
	[Serializable]
	public abstract class ConnectionManagerEmptyListener : ConnectionManagerListener
	{
        virtual public string Name
        {
            get;
            protected set;
        }
        abstract public void OnHostDown(CassandraHost cassandraHost);
        abstract public void OnHostRestored(CassandraHost cassandraHost);
        abstract public void OnAllHostsDown();
        abstract public void OnSuspendHost(CassandraHost cassandraHost, bool removed);
        abstract public void OnUnSuspendHost(CassandraHost cassandraHost, bool readded);
        abstract public void OnAddHost(CassandraHost cassandraHost, bool added, string errorMessage, Exception e);
        abstract public void OnRemoveHost(CassandraHost cassandraHost, bool removed, string message);
	}
}